﻿
<?php
    class UserController extends Main_Controller_Action
    {
        private $_arrParam;
        private $_model;
        
        public function init() {
            $this->loadTemplates();
            $this->_arrParam = $this->_request->getParams();
            $this->_model = new Default_Model_User();
        }
        
        public function indexAction() {
            $this->view->headTitle('Tournow - Người dùng');
            $user = new Default_Model_User();
            $auth = Zend_Auth::getInstance();
            $infoUser = $auth->getIdentity();
            $email = $infoUser->email;
            $list=$user->Users($email);
            $user_id   =$list[0]["user_id"];
            $fullname=$list[0]["fullname"];
            $birthday=$list[0]["birthday"];
            $gender = $list[0]["gender"];
            $avatar = $list[0]["avatar"];
            $avatarold = $list[0]["avatar"];
            $this->view ->  email=$email;
            $this->view -> fullname=$fullname;
            
            $this->view -> birthday=$birthday;
            $this->view -> gender=$gender;
            $this->view ->avatar =$avatar;
            $flex = new Zendvn_Filter_RemoveCircumflex();
            $lower = new Zend_Filter_StringToLower();
            if($this->_request->isPost()){
                $fullname=  $this->_request->getPost("fullname");
                $filter = new Zend_Filter_StringTrim();
                $fullname = $filter->filter($fullname);
                $birthday=  $this->_request->getPost("birthday");
                $gender=    $this->_request->getPost("gender");
                $adapter = new Zend_File_Transfer_Adapter_Http();
                $fileInfo = $adapter->getFileInfo();
                $validate = new Default_Form_ValidateUser();
                $flag=0;
                if(!$validate->validateFullname($fullname)){
                    $errFullname='<span class="msg_error"> Tên đầy đủ gồm các kí tự chữ cái, không chứa chữ số và độ dài từ 5-50 kí tự!</span>';
                    $flag++;
                }
                if($birthday==""){
                    $errBirthday='<span class="msg_error">Trường ngày sinh không được để trống!</span>';
                    $flag++;
                }
                if($flag!=0){
                    $this->view->errFullname=$errFullname;
                    $this->view->errbirthday=$errBirthday;
                }
                else{
                        $ext= $fileInfo['file']['name'];
                        if($ext!=''){
                        $fileName = time() . $ext;
                        $adapter->setDestination('public/img/user'); 
                        $adapter->addValidator ( 'Extension', false, 'jpg,png,gif')
                			->addValidator ('Size', false, 3000000);
                        $adapter->addFilter('Rename', array('source' => $fileInfo['tmp_name'],
                         'target' => "public/img/user". '/'.$fileName,
                         'overwrite' => true));
                        $adapter->receive();
                        $data=array('fullname'  =>$fullname,
                                    'gender'    =>$gender,
                                    'avatar'    =>$fileName,
                                    'birthday'  =>$birthday);
                        $this->_model->UpdateUser($data,$user_id);
                        $do = unlink("public/img/user/$avatarold");
                        
                        $data['user_id'] = $user_id;
                        $data['user_name_filter'] = $lower->filter($flex->filter($fullname));
                        $this->_model->saveAddItem($data, array('task' => 'edit'));
                        $this->view->success="Thông tin của bạn đã được cập nhật thành công!";
                    }
                    else{
                        $data=array('fullname'  =>$fullname,
                                    'gender'    =>$gender,
                                    'birthday'  =>$birthday);
                        $this->_model->UpdateUser($data,$user_id);
                        $data['user_id'] = $user_id;
                        $data['user_name_filter'] = $lower->filter($flex->filter($fullname));
                        $this->_model->saveAddItem($data, array('task' => 'edit'));
                        $this->view->success="Thông tin của bạn đã được cập nhật thành công!";
                    }
                }
                
                
            }
        }
        
        public function changepassAction() {
            $this->view->headTitle('Tournow - Thay đổi mật khẩu');
            $this->view -> newpasserr='<span class="msg_error">Mật khẩu có độ dài từ 6 đến 32 ký tự</span>';
            $this->view -> renewpasserr='<span class="msg_error">Mật khẩu có độ dài từ 6 đến 32 ký tự</span>';
            $user = new Default_Model_User();
            $validate = new Default_Form_ValidateUser();
            $auth = Zend_Auth::getInstance();
            $infoUser = $auth->getIdentity();
            $email = $infoUser->email;
            $this->view->email=$email;
            $list=$user->Users($email);
            $user_id   =$list[0]["user_id"];
            $oldpassword_1=$list[0]["password"];
            if($this->_request->isPost()){
                $oldpassword = $this->_request->getPost("oldpass");
                $password = $this->_request->getPost("newpass");
                $repassword = $this->_request->getPost("renewpass");
                $flag=0;
                if($oldpassword_1!=md5($oldpassword)){
                    $erroldPass ='<span class="msg_error">Mật khẩu cũ bạn nhập chưa đúng!</span>';
                    $flag++;
                }
                if(!$validate->validatePassword($password)){
                    $errPass ='<span class="msg_error">Password phải có chiều dài từ 6-32 ký tự!</span>';
                    $flag++;
                }
                if($password!=$repassword){
                    $errrePass ='<span class="msg_error">Mật khẩu chưa trùng khớp!</span>';
                    $flag++;
                }
                if($flag!=0){
                    $this->view->errpass=$errPass;
                    $this->view->errrepass=$errrePass;
                    $this->view->erroldpass=$erroldPass;
                }
                else{
                    $data=array('password'=>md5($password));
                    $this->_model->UpdateUser($data,$user_id);
                    $this->view->success="Cập nhật mật khẩu thành công!";
                }
                
            }
        } 
        public function resetAction(){
            $user = new Default_Model_User();
            $email=$this->_request->getParam("email");
            $code=$this->_request->getParam("code");
            $list=$user->Users($email);
            $user_id   =$list[0]["user_id"];
            if($list=$user->checkUsers($email,$code) > 0) {
                
                $this->_redirect('user/resetpassword/id/'.$user_id );
            }
            else{
                $this->_redirect('index');
            }
        }
        public function resetpasswordAction(){
            $this->view->headTitle('Tournow - Lấy lại mật khẩu');
            if($this->_request->isPost()){
                $user = new Default_Model_User();
                $validate = new Default_Form_ValidateUser();
                $user_id=$this->_request->getParam("id");
                $password = $this->_request->getPost("newpass");
                $repassword = $this->_request->getPost("renewpass");
                $flag=0;
                if(!$validate->validatePassword($password)){
                    $errPass ='<span class="msg_error">Mật khẩu phải có chiều dài từ 6-32 ký tự!</span>';
                    $flag++;
                }
                if($password!=$repassword){
                    $errrePass ='<span class="msg_error">Mật khẩu chưa trùng khớp!</span>';
                    $flag++;
                }
                if($flag!=0){
                    $this->view->errpass=$errPass;
                    $this->view->errrepass=$errrePass;
                }
                else{
                    $data=array('password'=>md5($password));
                    $this->_model->UpdateUser($data,$user_id);
                    $this->_redirect('user/resetpasswordsuccess');
                }
                
            }
        }
        public function resetpasswordsuccessAction(){
            $this->view->headTitle('Tournow - lấy mật khẩu thành công');
        }
    }



?>